GKE Pub/Sub通知訊息到DC
前言
本來以爲不需要,但GKE有時就會幫你升級master的版本,
神不知鬼不覺,就算用靜態版本也是。
雖然是不會影響到線上服務,
但還是最好知道一下是什麼時候升級的。
正文
-
Pub/Sub建立一個主題
-
GKE的叢集設定開啓通知,並選擇剛剛建立的主題
-
建立Cloud Function
環境選『第二代』,函式名稱自己命名。
觸發條件,『允許未經驗證的叫用』,再選擇 ADD TRIGER裏面的『Pub/Sub trigger』
選擇剛剛建立的Pub/Sub主題
在連線的地方,可選擇僅允許內部流量即可。 -
建立程式碼
選擇Go 1.20 ,進入點改成 sendDiscord
原始碼到pubsub notify複製 function.go的程式。 -
測試
觸發GKE的升級後,就會發送訊息到Discord上面。
相關資訊
Pub/Sub價格
在每個日曆月,結算帳號的 Message Delivery Basic SKU 的前 10 GiB 吞吐量免費
ref. Pub/Sub 價格
Pub/Sub架構
ref. 什麼是 Pub/Sub?
The request was not authenticated.
The request was not authenticated. Either allow unauthenticated invocations or set the proper Authorization header. Read more at https://cloud.google.com/run/docs/securing/authenticating Additional troubleshooting documentation can be found at: https://cloud.google.com/run/docs/troubleshooting#unauthorized-client
如果沒在 第三步驟,選擇『允許未經驗證的叫用』,事後需改到cloud run修改安全性。
從cloud function的連結到cloud run
到安全性,將驗證改成『允許未經驗證的叫用』。
如果你仍然想要用需要驗證,
可能需要研究下,目前只允許內部流量調用。
MessagePublishedData
{
"subscription": "projects/test-project/subscriptions/my-subscription",
"message": {
"attributes": {
"attr1":"attr1-value"
},
"data": "dGVzdCBtZXNzYWdlIDM=",
"messageId": "message-id",
"publishTime":"2021-02-05T04:06:14.109Z",
"orderingKey": "ordering-key"
}
}